﻿#pragma once
#include "zyCtrol.h"


namespace DarkMoonUI {

	class zyAnimateBox : public  zyCtrol
	{
	public:
		zyAnimateBox();
		~zyAnimateBox();
		
		static LRESULT WINAPI zyAnimateBox_ChildWndProc(zyObject* obj, HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, BOOL* bHandle);

		BOOL 创建(HWND 参数_父窗口, const std::wstring& 参数_标题 = L"", POINT 参数_位置 = POINT{ 0, 0 }, POINT 参数_尺寸 = POINT{ 60, 120 },
			int 参数_ID = 0, int 参数_窗口风格 = 0, int 参数_扩展风格 = 0);
		BOOL 创建(zyWindow& 参数_父窗口, const std::wstring& 参数_标题 = L"", POINT 参数_位置 = POINT{ 0, 0 }, POINT 参数_尺寸 = POINT{ 60, 120 },
			int 参数_ID = 0, int 参数_窗口风格 = 0, int 参数_扩展风格 = 0);
		//@备注 函数 整型 OnStart(HWND hWnd,整型 id)
		void 事件_开始播放(TRegEvent* 参数_事件指针) { SetRegEvent(L"OnStart", 参数_事件指针); }
		//@备注 函数 整型 OnStop(HWND hWnd,整型 id)
		void 事件_停止播放(TRegEvent* 参数_事件指针) { SetRegEvent(L"OnStop", 参数_事件指针); }
		bool 打开(const std::wstring& 参数_文件名);
		bool 播放(int 参数_播放次数 = -1);
		bool 打开RC资源(int 参数_资源ID) { return sendMsg(ACM_OPENW, (WPARAM)zyEnv::getInstance().getHandle(), (LPARAM)参数_资源ID) != 0; }
		bool 是否正在播放() { return sendMsg(ACM_ISPLAYING, 0, 0) != 0; }
		bool 停止播放() { return sendMsg(ACM_STOP, 0, 0) != 0; }
	};

}

